package com.jiyun.coupons.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 优惠券列表对象 coupons
 * 
 * @author cs
 * @date 2024-08-01
 */
public class Coupons extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 优惠券id */
    private Long id;

    /** 优惠券名称 */
    @Excel(name = "优惠券名称")
    private String couponsName;

    /** 优惠券面值 */
    @Excel(name = "优惠券面值")
    private Long faceValue;

    /** 发送方式 */
    @Excel(name = "发送方式")
    private Long sendType;

    /** 优惠券类型 */
    @Excel(name = "优惠券类型")
    private Long couponsType;

    /** 商品名称id */
    @Excel(name = "商品名称id")
    private Long productId;

    /** 商品分类名称id */
    @Excel(name = "商品分类名称id")
    private Long categoryId;

    /** 使用门槛 */
    @Excel(name = "使用门槛")
    private Long useDoorsill;

    /** 使用最低金额 */
    @Excel(name = "使用最低金额")
    private Long useMoney;

    /** 使用时间选择 */
    @Excel(name = "使用时间选择")
    private Long useTime;

    /** 天数 */
    @Excel(name = "天数")
    private Long useDays;

    /** 开始时间段 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始时间段", width = 30, dateFormat = "yyyy-MM-dd")
    private Date useStartTime;

    /** 结束时间段 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "结束时间段", width = 30, dateFormat = "yyyy-MM-dd")
    private Date useEndTime;

    /** 领取时间选择 */
    @Excel(name = "领取时间选择")
    private Long receive;

    /** 领取开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "领取开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date receiveStatrTime;

    /** 领取结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "领取结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date receiveEndTime;

    /** 发布数量选择 */
    @Excel(name = "发布数量选择")
    private Long releases;

    /** 数量 */
    @Excel(name = "数量")
    private Long releasesNum;

    /** 优惠券状态 */
    @Excel(name = "优惠券状态")
    private Long couponsStatus;

    /** 用户领取数量 */
    @Excel(name = "用户领取数量")
    private Long userGetNum;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setCouponsName(String couponsName) 
    {
        this.couponsName = couponsName;
    }

    public String getCouponsName() 
    {
        return couponsName;
    }
    public void setFaceValue(Long faceValue) 
    {
        this.faceValue = faceValue;
    }

    public Long getFaceValue() 
    {
        return faceValue;
    }
    public void setSendType(Long sendType) 
    {
        this.sendType = sendType;
    }

    public Long getSendType() 
    {
        return sendType;
    }
    public void setCouponsType(Long couponsType) 
    {
        this.couponsType = couponsType;
    }

    public Long getCouponsType() 
    {
        return couponsType;
    }
    public void setProductId(Long productId) 
    {
        this.productId = productId;
    }

    public Long getProductId() 
    {
        return productId;
    }
    public void setCategoryId(Long categoryId) 
    {
        this.categoryId = categoryId;
    }

    public Long getCategoryId() 
    {
        return categoryId;
    }
    public void setUseDoorsill(Long useDoorsill) 
    {
        this.useDoorsill = useDoorsill;
    }

    public Long getUseDoorsill() 
    {
        return useDoorsill;
    }
    public void setUseMoney(Long useMoney) 
    {
        this.useMoney = useMoney;
    }

    public Long getUseMoney() 
    {
        return useMoney;
    }
    public void setUseTime(Long useTime) 
    {
        this.useTime = useTime;
    }

    public Long getUseTime() 
    {
        return useTime;
    }
    public void setUseDays(Long useDays) 
    {
        this.useDays = useDays;
    }

    public Long getUseDays() 
    {
        return useDays;
    }
    public void setUseStartTime(Date useStartTime) 
    {
        this.useStartTime = useStartTime;
    }

    public Date getUseStartTime() 
    {
        return useStartTime;
    }
    public void setUseEndTime(Date useEndTime) 
    {
        this.useEndTime = useEndTime;
    }

    public Date getUseEndTime() 
    {
        return useEndTime;
    }
    public void setReceive(Long receive) 
    {
        this.receive = receive;
    }

    public Long getReceive() 
    {
        return receive;
    }
    public void setReceiveStatrTime(Date receiveStatrTime) 
    {
        this.receiveStatrTime = receiveStatrTime;
    }

    public Date getReceiveStatrTime() 
    {
        return receiveStatrTime;
    }
    public void setReceiveEndTime(Date receiveEndTime) 
    {
        this.receiveEndTime = receiveEndTime;
    }

    public Date getReceiveEndTime() 
    {
        return receiveEndTime;
    }
    public void setReleases(Long releases) 
    {
        this.releases = releases;
    }

    public Long getReleases() 
    {
        return releases;
    }
    public void setReleasesNum(Long releasesNum) 
    {
        this.releasesNum = releasesNum;
    }

    public Long getReleasesNum() 
    {
        return releasesNum;
    }
    public void setCouponsStatus(Long couponsStatus) 
    {
        this.couponsStatus = couponsStatus;
    }

    public Long getCouponsStatus() 
    {
        return couponsStatus;
    }
    public void setUserGetNum(Long userGetNum) 
    {
        this.userGetNum = userGetNum;
    }

    public Long getUserGetNum() 
    {
        return userGetNum;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("couponsName", getCouponsName())
            .append("faceValue", getFaceValue())
            .append("sendType", getSendType())
            .append("couponsType", getCouponsType())
            .append("productId", getProductId())
            .append("categoryId", getCategoryId())
            .append("useDoorsill", getUseDoorsill())
            .append("useMoney", getUseMoney())
            .append("useTime", getUseTime())
            .append("useDays", getUseDays())
            .append("useStartTime", getUseStartTime())
            .append("useEndTime", getUseEndTime())
            .append("receive", getReceive())
            .append("receiveStatrTime", getReceiveStatrTime())
            .append("receiveEndTime", getReceiveEndTime())
            .append("releases", getReleases())
            .append("releasesNum", getReleasesNum())
            .append("couponsStatus", getCouponsStatus())
            .append("userGetNum", getUserGetNum())
            .toString();
    }
}
